This invention generally relates to knowledge systems, and more particularly to a knowledge system having a complementary database to support problem solving.
Knowledge systems are computer systems that emulate human reasoning by interpreting encoded knowledge of human experts stored in a database referred to as a knowledge base. If the domain of the knowledge base, or the scope of the problem, is sufficiently narrow and an adequately large body of knowledge is properly coded in the knowledge base, then the knowledge system can achieve performance matching or exceeding the ability of a human expert. In such a case, the knowledge system is referred to as an expert system. Expert systems may be designed, at least in theory, for virtually any application ranging from medical diagnosis, automobile repair consultation, inventory control, and many other uses.
One difficult step in developing expert systems is to encode unstructured, often even unarticulated knowledge into a machine readable form. The encoding process is done by a person, known as a knowledge engineer, who must be highly skilled at both obtaining knowledge from a human expert and also translating that knowledge into a machine readable expert system language.
Another difficulty with expert systems is that, for many specific queries, they are more expensive and slower than is necessary. To elaborate, an expert system may be invoked to answer a request involving a large number of variables, and the expert system may process those variables through a relatively complicated program to answer the request. For many requests, especially those that are unique or complicated, this processing may be needed to answer the requests reliably. However, many requests are relatively standard or conventional, and invoking the complicated, time consuming processing of the expert system is a relatively slow and expensive way to answer these requests.
For instance, a customer may purchase an IBM 9370 Information System with many variable or optional features such as different memory sizes, different numbers of tape drives, and different direct access storage devices. In fact, it has been estimated that over two billion different combinations of features are available with the 9370 Information System. This very large number of different configurations of the 9370 Information System precludes developing a data base that contains all valid configurations--that is, all configurations that can be built without violating any of certain rules or limitations set by the manufacturer.
To solve this problem, an expert system was developed to configure a complete system based on a customer's requested machine configuration. The resultant expert system configurator adds features that are implied by the features that the customer actually specified as part of the requested machine configuration. For example, the expert system configurator adds enough DASD/Tape Controller Cards to control the number of DASD devices and Tape devices specified by the customer. The configurator also adds enough racks to physically contain the processor, the DASD devices, and the tape devices. To perform its function, the configurator actually determines where to place each card in a card cage and determines where to place each box in a rack. This is necessary in order to determine how many card cages are necessary and how many racks are necessary. The configurator also checks the resultant fully configured system against limits, to be sure that the system can be manufactured.
Various 9370 systems have become somewhat standard or common, though, and considerable time and expense could be saved if the expert system were supplemented to avoid invoking that expert system to process a request for one of those standard or conventional systems.